//
//  Sensor.h
//  SujetObserver
//
//  Created by Pierre DUCHENE on 05/01/10.
//  Copyright 2010 Pierre DUCHENE. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SpreadProtocol.h"

@class SensorData;

/*!
    @protocol    SensorProtocol <NSObject>
    @abstract    A Sensor is an object with data encapsulate into him.
    @discussion  This interface correspond to the Client part of Strategy Pattern.
				 It is possible to change the data and change the strategy dynamiquely
*/
@protocol SensorProtocol <NSObject>

@required
- (SensorData*)sensorData;
- (void)setSensorValue:(NSNumber*)newValue;
- (void)setSpreadStrategy:(id<SpreadProtocol>)aStrategy;
- (id<SpreadProtocol>)spreadStrategy;

@end
